Voice-over-internet-protocol (voip) communications

ABSTRACT

Systems and methods are disclosed that enable an operator of a packet switched network to provide mobile telephone services in cooperation with an operator of a cellular network.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No. 16/176,683 filed Oct. 31, 2018, which is hereby incorporated by reference in its entirety.

BACKGROUND

Voice Over Internet Protocol (VoIP) or Internet Protocol (IP) Telephony is a technology that allows a user to make a telephone call over the Internet or a dedicated network in IP packets, instead of over dedicated voice transmission lines. The steps and principles involved in originating VoIP telephone calls are similar to traditional digital telephony and involve signaling, channel setup, digitization of the analog voice signals, and encoding. Instead of being transmitted over a circuit-switched network, however, the digital information is packetized, and transmission occurs as IP packets over a packet switched network. In addition to phone devices specially designed for VoIP communications, VoIP client software is also available on many mobile phones, personal computers, and other Internet access devices.

SUMMARY

Described herein are systems and methods that enable an operator of a packet switched network to provide mobile telephone services in cooperation with an operator of a cellular network. The cellular network may comprise a base station configured to provide access to the cellular network, and the packet switched network may comprise a wireless access point configured to provide access to the packet switched network. If a mobile device of the system is unable to connect to the packet switched network using the wireless access point, the mobile device may establish a wireless connection to and authenticate with the cellular network using the base station of the cellular network. The authenticated mobile device may establish, via the cellular network, a cellular data connection to the packet-based network. With this cellular data connection to the packet-based network, the mobile device may establish a connection to the packet switched network using credentials associated with the packet switched network and may register with the packet switched network for telephony service. If the wireless access point of the packet switched network remains or becomes unavailable, the mobile device may employ its cellular data connection to the packet switched network to perform VoIP communications. An additional cellular network may be employed to provide telephony services if the first cellular network and the packet switched network are not accessible from the mobile device.

This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter. Furthermore, the claimed subject matter is not limited to limitations that solve any or all disadvantages noted in any part of this disclosure.

BRIEF DESCRIPTION OF THE DRAWINGS

The following detailed description is better understood when read in conjunction with the appended drawings; however, the subject matter is not limited to specific elements and instrumentalities shown. In the drawings:

FIG. 1 is a block diagram illustrating a system for providing mobile telephone service to subscribers of an operator of a packet switched network;

FIG. 2 is a block diagram illustrating further details of one implementation of the system of FIG. 1 ;

FIG. 3 is a call flow illustrating a method for conducting VoIP communications in the system illustrated in FIGS. 1 and 2 ;

FIG. 4 is a call flow illustrating a method for conducting VoIP communications in the system illustrated in FIGS. 1 and 2 ;

FIG. 5 is a block diagram illustrating a system for providing mobile telephone service to subscribers of an operator of a packet switched network;

FIG. 6 is a block diagram illustrating further details of one implementation of the system of FIG. 5 ;

FIG. 7A is a call flow illustrating a method for conducting telephone communications in the system illustrated in FIGS. 5 and 6 ;

FIG. 7B is a call flow illustrating a method for conducting telephone communications in the system illustrated in FIGS. 5 and 6 ;

FIG. 8 a block diagram of an example computing device; and

FIG. 9 is a block diagram of an example mobile device.

DETAILED DESCRIPTION

With a VoIP client on a mobile phone, it is possible for users to move within range of virtually any IP network and have the ability to make and receive calls at their mobile phone number, which is commonly referred to as a personal telephone number (TN). This is, in fact, one of the benefits of VoIP service, whereby a user can take their VoIP-capable mobile phone with them to a hotel with broadband Internet service and have their home phone ring in their hotel room. By contrast, traditional telephone service is tied to a specific location by nature of the circuit-based telephone network.

With the prevalence of Wi-Fi connectivity on personal computers, mobile phones, and other hand-held devices, VoIP communications are often conducted over a Wi-Fi connection to the Internet. VoIP communication via a Wi-Fi access point is commonly referred to as Wi-Fi calling.

Mobile telephone service may be provided by a mobile network operator (MNO). A user may purchase a mobile device, such as a mobile phone, and have that phone activated for service with the MNO—usually by purchasing a service plan with the MNO. Typically, an MNO will operate a nation-wide circuit-switched network implemented in accordance with the Third Generation Partnership Project (3GPP) Evolved Packet Core network specifications and standards.

A user may purchase a mobile device, such as a mobile phone, and establish service with a selected MNO. The mobile device may be provisioned by the MNO with one or more credentials that enable the mobile device to connect to and authenticate with the MNO's network in order to use the communications services of the MNO network. One of these credentials may comprise an identifier, such as, for example, a telephone number (TN) provisioned by the MNO. The telephone number may comprise a mobile station international subscriber directory number (MSISDN).

It is also common for other network operators, such as cable network operators, to offer conventional telephone service using VoIP technology across that network operator's packet switched (e.g., Internet Protocol (IP)) network. IP networks supporting VoIP capabilities may be implemented in accordance with the 3GPP IP-Multimedia Subsystem architecture specified in 3GPP TS 22.228, TS 23.228, and related specifications.

As with mobile phone service purchased from an MNO, a user or subscriber of a packet switched network operator may purchase telephone service from the packet switched network operator. The user may be assigned an identifier, such as a telephone number (TN), by the network operator for use in connection with the VoIP service on the network operator's packet switched network. In some cases, the user may request that the user's previously obtained land-line telephone number be ported to the network operator's system rather than a new telephone number being assigned.

It may be desirable for an operator of a packet switched network to partner with a mobile network operator in order for the packet switched network operator to offer mobile telephone service to its subscribers. However, one obstacle to such a partnership is that mobile phones configured to operate on an MNO network typically are assigned a telephone number by the MNO, whereas the packet switched network operator may prefer for such mobile phone users to be able to use a telephone number assigned by the packet switched network operator. Disclosed herein are systems and methods for overcoming this obstacle.

FIG. 1 shows a system for providing mobile telephone service to subscribers of an operator of a packet switched network 110. The packet switched network 110 may comprise a network implemented in accordance with the 3GPP IP-Multimedia Subsystem architecture specified in 3GPP TS 22.228, TS 23.228, and related specifications. As illustrated, the architecture leverages a circuit-switched network 106, such as a cellular network, operated by a mobile network operator. The cellular network 106 may be implemented in accordance with the Third Generation Partnership Project (3GPP) Evolved Packet Core (EPC) network specifications and standards. The cellular network 106 and the packet switched network 110 may both be connected to an intermediate network 112 that enables communications between them. The intermediate network 112 may comprise an Internet Protocol (IP) network. For example, the intermediate network 112 may comprise the Internet.

In the architecture of FIG. 1 , a mobile device 102 may be configured to access the cellular network via a base station 104. The mobile device 102 may comprise any of a variety of different types of mobile devices, including for example, a smartphone, a tablet computer, a laptop computer, a notebook computer, a personal computer, a personal digital assistant (PDA), a user equipment (UE), a mobile station, a fixed or mobile subscriber unit, a pager, a wireless sensor, other consumer electronics, and the like.

The base station 104 may comprise a base transceiver station (BTS), a Node-B, an eNode-B, or any other network device configured to provide a wireless interface to the cellular network 106. The base station 114 a may be part of a radio access network (not shown) that may include other base stations and network elements (not shown). The base station 104 may be configured to transmit and receive wireless signals on one or more carrier frequencies. The base station 104 may also be referred to as a cell of the cellular network 106. The base station 104 may provide wireless communications over a particular geographic area, which may be referred to herein as a coverage area. The coverage area may be fixed or it may change over time. Although just one mobile device 102 is illustrated in FIG. 1 , any number of mobile devices may access the cellular network 106 at a given time.

The mobile device 102 and base station 104 may communicate over an air interface using any of a variety of suitable wireless communication technologies including, for example, radio frequency (RF), microwave, centimeter wave, infrared (IR), visible light, or the like. The mobile device 102 and base station 104 may implement any of a variety of cellular-based radio access technologies, such as, for example, Code Division Multiple Access (CDMA), High-Speed Packet Access (HSPA), Long Term Evolution (LTE), LTE-Advanced (LTE-A), LTE-Advanced Pro (LTE-A Pro), New Radio (e.g., 5G), or the like.

The mobile device 102 may also be configured to access the packet switched network 110 via a wireless access point 108. The wireless access point 108 may be disposed in an area, such as a geographic area, to provide wireless devices, such as mobile device 102, with wireless access to the packet switched network 110. The wireless access point 108 may utilize any suitable radio access technology for facilitating wireless connectivity with the packet switched network 110 in a limited area, such as a place of business, a home, a vehicle, a campus, or other area. The wireless access point 108 may implement the IEEE 802.11 (“Wi-Fi”) radio access technology. Other radio access technologies may also, or alternatively, be employed, such as IEEE 802.16 or 802.20 (“WiMAX”), IEEE 802.15.4a (“Zigbee”), or 802.15.3c (“UWB”). The wireless access point 108 may be one of a plurality of wireless access points that provide wireless access to the packet switched network 110 over a wide geographic area.

The mobile device 102 may store a first set of credentials associated with the mobile network operator of the cellular network 106. The first set of credentials may comprise one or more identifiers associated with the mobile device, such as an International Mobile Subscriber Identifier (IMSI), and cryptographic keys needed for authentication and access to the cellular network 106 via the base station 104. The IMSI and cryptographic keys also may be referred to as Subscriber Identity Module (SIM) credentials for the mobile device 102. The first set of credentials may also comprise a unique telephone number (TN) for the mobile device assigned by the mobile network operator of the cellular network 106 for use in connection with the cellular network 106. The telephone number may comprise a mobile station international subscriber directory number (MSISDN).

The mobile device 102 may also store a second set of credentials associated with the network operator of the packet switched network 110. The second set of credentials may similarly comprise one or more identifiers associated with the mobile device, certificates, encryption keys, and other information or data needed for authentication and access to the packet switched network 110 via the access point 108. The second set of credentials may also comprise a unique telephone number (TN) for the mobile device assigned by the network operator of the packet switched network 110 for use in connection with the packet switched network 106. The telephone number of this second set of credentials may similarly comprise an MSISDN.

A user of the mobile device 102 may wish to initiate a call to another person or entity who operates another communications device 114. The other communications device 114 may be another mobile device, like mobile device 102, on another cellular network (not shown) to which the packet switched network 110 interfaces. Alternatively, the communications device 114 may be a fixed device, such as a land-line telephone or VOIP communications device, connected to the public switched telephone network (PSTN) (not shown) also to which the packet switched network 110 interfaces. The communications device 114 may also have a unique telephone number associated with it, assigned by the mobile network operator or telephone service provider with which the user of the communications device 114 may have subscribed for telephone service. Typically, a user of the mobile device 102 initiates a telephone call to the user of the communications device 114 by entering the telephone number associated with the communications device 114 into a telephone dialer application executing on the mobile device 102.

The user of the mobile device 102 may also wish to receive telephone calls on the mobile device 102. For example, the user of the mobile device 102 may wish to receive a call from the user of the other communications device 114.

As mentioned above, because the architecture illustrated in FIG. 1 enables the operator of the packet switched network to provide mobile telephone service to the user of the mobile device 102, it is desirable that any telephone number that may have been assigned to the mobile device by the mobile network operator of the cellular network 106 be hidden from the user of the mobile device and from any person or entity who may wish to initiate a call to the mobile device. Instead, it is desirable that the telephone number assigned to the mobile device by the operator of the packet switched network appear in connection with any telephone communications to or from the mobile device. That is, if the user of the mobile device 102 initiates a call to the user of the other communications device 114, the call should appear to that user as if coming from the telephone number assigned to the mobile device 102 by the operator of the packet switched network. Similarly, a user of the other communication device 114 who wishes to initiate a call to the user of the mobile device 102 should be able to initiate that call on the dialer application of the communication device 114 using the telephone number assigned to the mobile device 102 by the operator of the packet switched network 110.

If the mobile device 102 is in wireless communications range of the wireless access point 108, the mobile device may establish a wireless connection to wireless access point 108 using the second set of credentials discussed above, which are associated with and may be assigned to or provisioned on the mobile device by the network operator of the packet switched network 110. Using this second set of credentials, the mobile device may further establish a connection to the packet switched network 110, via the wireless access point 108, and may register with the packet switched network 110. The registered mobile device 102 may conduct VOIP communications via the wireless access point 108 and the packet switched network 110. For example, the mobile device 102 may initiate a VOIP telephone call to another communications device, such as the communications device 114. The mobile device 102 may also receive a VOIP telephone call from another communications device, such as the communications device 114.

If the mobile device 102 is not in wireless communication range of a wireless access point that provides connectivity to the packet switched network 110, such as the wireless access point 108, the mobile device 102 may be in range of a base station, such as the base station 104, which provides connectivity to the cellular network 106. Using the first set of credentials mentioned above, which are associated with and may be assigned to or provisioned on the mobile device by the mobile network operator of the cellular network 106, the mobile device may establish a wireless connection to the cellular network 106. The mobile device 102 may use the first set of credentials to perform an authentication of the mobile device 102 with the cellular network 106 and to establish connectivity with the cellular network 106. The mobile device 102 may establish a cellular data connection within the cellular network and may use that cellular date connection to establish an IP-based connection to the packet switched network 110. The connection to the packet switched network 110 may traverse the IP network 112.

Using the IP-based connection to the packet switched network 110 and the second set of credentials associated with the operator of that network, the mobile device 102 may register with the packet switched network 110. The registered mobile device 102 may conduct VOIP communications using the services of the packet switched network 110, but those VOIP communications may traverse the cellular data connection established through the cellular network. Moreover, in this architecture, the VOIP communications may appear to the communications device at the other endpoint, such as the communications device 114, as coming from the telephone number assigned by the operator of the packet switched network 110, even though those communications rely on the cellular data connection established through the cellular network 106.

Subsequently, should the mobile device 102 move into range of the wireless access point 108, or a similar wireless access point providing connection to the packet switched network 110, VOIP communications initiated or received by the mobile device 102 may resume over that direct wireless connection to the access point 108 and the packet switched network 110, without the need for any cellular data connection through the cellular network 106. Thus, the cellular data connection through the base station 104 and cellular network 106 may only be needed in the absence of connectivity to the packet switched network 110 via a wireless access point such as wireless access point 108. But regardless of the manner of connection to the packet switched network 110, the architecture of FIG. 1 enables any telephone number of the first set of credentials associated with the mobile network operator of the cellular network 106 effectively to be hidden from the user of the mobile device 102 and any other communications device to which it communicates using VOIP communications, such as the communications device 114. Rather, all VOIP calls coming from the mobile device 102 appear to any other communications device as if coming from the telephone number of the second set of credentials associated with the operator of the packet switched network 110, regardless of whether the mobile device 102 is connected to directly to the packet switched network 110 via the wireless access point 108 of connected to the packet switched network 110 using a cellular data connection established through the cellular network 106 and intermediate IP network 112.

FIG. 2 is a block diagram illustrating further details of one implementation of the architecture of FIG. 1 in which the cellular network 106 implements a 3GPP Evolved Packet Core (EPC) network utilizing the Long Term Evolution (LTE) radio access technology specified by the 3GPP. The EPC 106 may be architected and operate in accordance with the 3GPP LTE specifications described in 3GPP TS 23.002 (Network Architecture), TS23.401 (General Packet Radio Service (GPRS) enhancements for Evolved Universal Terrestrial Radio Access Network (E-UTRAN) access), and TS 23.402 (Architecture enhancements for non-3GPP accesses). The base station 104 may comprise an Evolved NodeB (eNodeB) in accordance with the 3GPP LTE specification. The EPC 106 may comprise a number of network entities, including a Serving Gateway (S-GW) 206, a Packet Data Network Gateway (P-GW) 208, a Mobility Management Entity (MME) 202 and a Home Subscriber Server (HSS) 204. The EPC may be connected via the P-GW to external networks, such as the intermediate IP network 112. The intermediate IP network 112 may comprise the Internet.

The HSS 204 may comprise a database that stores information concerning mobile devices, such as mobile device 102, for which a subscription to the services of the EPC 106 has been established. The HSS 204 may also be configured to provide support functions in mobility management, call and session setup, user authentication and access authorization. The HSS 204 may store information and credentials for each mobile device for which a subscription to the service of the cellular network 106 has been established. The credentials for a mobile device, such as the mobile device 102, may comprise some or all of the first set of credentials used by the mobile device 102 to connect to and authenticate with the EPC 106. The information and credentials for a given mobile device may be stored in the form of a record in the HSS 204 database. The record for a given mobile device may comprise one or more identifiers associated with the device. The one or more identifiers may comprise an international mobile subscriber identity (IMSI), a telephone number associated with the mobile device, and other information relating to the services of the network 106 available to the mobile device. The telephone number associated with a mobile device, such as the mobile device 102, may comprise a mobile station international subscriber directory number (MSISDN), which telephone number may be assigned to the mobile device 102 by the operator of the EPC 106.

The S-GW 206 and PGW 208 handle user plane traffic. For example, those gateways may transport IP data traffic between a mobile device, such as the mobile device 102, and external networks, such as IP network 112. The S-GW 206 serves the mobile device 102 by routing incoming and outgoing IP packets. It is logically connected to the P-GW 208.

The P-GW 208 is the point of interconnect between the EPC 106 and external IP networks, such as the IP network 112. As mentioned above, the IP network 112 may comprise the Internet. These external networks may be referred to as packet data networks, and the P-GW 208 routes packets to and from those external packet data networks. The P-GW 208 may also perform various functions such as IP address/IP prefix allocation or policy control and charging. Although 3GPP specifies these gateways independently, in practice they may be combined in a single computing device or server by network vendors.

The MME 202 deals with the control plane. That is, it handles the signaling related to mobility and security for LTE access to the EPC 106. The MME is responsible for the tracking and the paging of mobile devices, such as mobile device 102, in idle-mode.

In this implementation, the packet switched network 110 may comprise a network that supports wireless communications in accordance with the IEEE 802.11 standard, often referred to as “Wi-Fi.” As such, the wireless access point 108 may comprise a Wi-Fi access point (AP).

As further shown, the packet switched network 110 may further comprise an Evolved Packet Data Gateway (ePDG) 210, its own packet data network gateway (P-GW) 212, an Authentication, Authorization, and Accounting (AAA) sever 220, and an implementation of an Internet Protocol (IP) Multimedia Subsystem (IMS), sometimes also referred to as an IP Multimedia Core Network Subsystem (or “IMS Core”) 214.

The ePDG 210 functions to secure the data transmission with a mobile device, such as mobile device 102, connected to the network 110 over an untrusted non-3GPP access. In this implementation, the untrusted non-3GPP access is via the Wi-Fi access point 108.

The P-GW 212 is the counterpart to the P-GW 208 in the EPC/LTE network 106. The P-GW 212 provides connectivity from the mobile device 102 (via the ePDG 210) to the IMS Core 214. The P-GW 212 may perform policy enforcement, packet filtering for different mobile devices, charging support, and other packet-related functions.

The AAA server 220 provides authentication and authorization for VoIP communications over the packet switched network 110 if initiated from a mobile device, such as mobile device 102, via the access point 108 and ePDG 210.

The IMS Core 214 is an architecture for offering multimedia and voice over IP services. The IMS Core 214 may be implemented and operate in accordance with the 3GPP specifications found in 3GPP TS 22.228 and TS 23.228.

Per the 3GPP specifications for the IMS Core 214, the IMS Core 214 further comprises a Proxy-Call Session Control Function (P-CSCF), which is the first point of contact for mobile device users of the IMS Core 214. The P-CSCF 216 functions as a proxy server for the mobile device 102; all Session Initiation Protocol (SIP) signaling traffic to and from the mobile device 102 may pass through the P-CSCF 216.

Similar to the HSS 204 which stores information relating to mobile device subscribers of the EPC/LTE network 106, an HSS 222 in the packet switched network 110 may comprise a database that stores information concerning mobile devices, such as mobile device 102, for which a subscription to the services of the packet switched network 110 has been established. The HSS 222 may also perform mobile device authentication and authorization functions. The HSS 222 may store information and credentials for each mobile device for which a subscription to the services of the packet switched network 110 has been established. The credentials for a mobile device, such as the mobile device 102, may comprise some or all of the second set of credentials discussed above that are used by the mobile device 102 to connect to and register with the IMS Core 214 of the packet switched network 110. The information and credentials for a given mobile device may be stored in the form of a record in the HSS 222 database. The record for a given mobile device may comprise one or more identifiers associated with the device. The one or more identifiers may comprise an international mobile subscriber identity (IMSI), a telephone number associated with the mobile device, and other information relating to the services of the network 110 available to the mobile device. The telephone number associated with a mobile device, such as the mobile device 102, may comprise a mobile station international subscriber directory number (MSISDN), which telephone number may be assigned to the mobile device 102 by the operator of the packet switched network 110.

Call signaling received by the IMS Core 214 that is destined for an external target communications device, such as communications device 114, may be routed through a media gateway control function (MGCF) and associated media gateway (MGW) 224 to an external terminating network 116 to which the communications device 114 is connected. That terminating network 116 may comprise the public switched telephone network (PSTN), another cellular network operated by another mobile network operator. Alternatively, the communications device 114 may belong to another subscriber of the packet switched network 110 or the EPC/LTE network 106. The MGCF/MGW may serve as in interface between the Session Initiation Protocol (SIP) signaling of the IMS Core 214 and the signaling of the terminating network 116, such as the PSTN.

As described above, if the mobile device 102 is in wireless communications range of the wireless access point 108, the mobile device may establish a wireless connection to the wireless access point 108 using its set of credentials associated with the packet switched network 110. The mobile device may further establish a connection to the packet switched network 110, via the wireless access point 108, and may register with the IMS Core 214 of the packet switched network. The registered mobile device 102 may conduct VOIP communications via the wireless access point 108 and the packet switched network 110. For example, the mobile device 102 may initiate a VOIP telephone call to another communications device, such as the communications device 114. The mobile device 102 may also receive a VOIP telephone call from another communications device, such as the communications device 114.

FIG. 3 is a call flow illustrating a method for conducting VOIP communications using the wireless access point 108 and packet switched network 110. At step 301 of FIG. 3 , the mobile device 102, which may also be referred to herein as a user equipment (UE), connects to the wireless access point 108. In the system of FIG. 2 , in which the wireless access point 108 operates in accordance with the IEEE 802.11 (Wi-Fi) protocol, the mobile device 102 connects to the wireless access point 108 using the IEEE 802.11 protocol. In step 302, the mobile device 102 may send a message to the ePDG 210 requesting to establish an Internet Protocol security (IPsec) tunnel with the ePDG 210 using the Internet Key Exchange Protocol version 2 (IKEv2). This step 302 may be performed in accordance with the specifications of 3GPP TS 33.402 (3GPP System Architecture Evolution (SAE); Security aspects of non-3GPP accesses). In step 303, the ePDG 210 establishes the secure end-to-end tunnel (IPsec) with the mobile device 102.

In step 304, using the IPsec tunnel established with the ePDG 210, the mobile device 102 attempts to discover a Proxy-Call Session Control Function (P-CSCF), such as P-CSCF 216, which it may use to register with the IMS Core 214. The mobile device 102 may send a request to the discovered P-CSCF to register with the IMS Core 214. This discovery and registration process may be performed in accordance with the specifications of 3GPP TS 24.229 (IP multimedia call control protocol based on Session Initiation Protocol (SIP) and Session Description Protocol (SDP); Stage 3).

In step 305, the request to register with the IMS Core 214 is forwarded by the ePDG 210 to the P-CSCF 216 of the IMS Core 214. In step 306, in response to the request, the IMS Core 214 requests information and authentication credentials for the mobile device 102 from the IMS HSS 222. The HSS 222 maintains a profile for the mobile device 102 which contains these credentials. The credentials stored in the HSS profile correspond to the aforementioned credentials provisioned on the mobile device 102 by the operator of the packet switched network 110. The HSS 222 returns the requested information and credentials in step 307. The HSS 222 will also store in its profile for the mobile device 102 an identifier, such as a fully qualified domain name, of the P-CSCF with which the mobile device 102 has established communication. The mobile device 102 will continued to use that discovered P-CSCF as long as its registration with the IMS Core 214 remains valid.

In step 308, using the authentication credentials returned by the IMS HSS 222, the IMS Core 214 begins an authentication process with the mobile device 102 by sending a challenge message to the mobile device 102 via the ePDG. In step 309, the mobile device 102 and IMS Core 214 may complete the authentication and registration process. At this point, the mobile device 102 is registered with the IMS Core 214 and may conduct VoIP communications over the packet switched network 110. The IMS Core 214 may store the telephone number TN (which may comprise an MSISDN) assigned by the operator of the packet-switched network and maintains a mapping of that telephone number to the assigned IP address of the mobile device. Note that the IP address is assigned by the PGW 208 of the EPC. The foregoing steps 5 through 9 may be performed in accordance with the specifications of 3GPP TS 24.229.

At step 310, the mobile device 102 may originate a VoIP call to another communications device, such as the communications device 114. The VoIP call may be initiated by a user of the mobile device 102 by dialing the telephone number (TN) of the destination communications device 114 using a dialer application (not shown) on the mobile device 102. The mobile device 102 may initiate the signaling for the call using the Session Initiation Protocol (SIP), as specified in Internet Engineering Task Force (IETF) Request for Comments (RFC) 3261 (SIP: Session Initiation Protocol). A SIP message initiating the call may be sent to the ePDG 210 via the IPsec tunnel established between the mobile device 102 and the ePDG 210. The SIP message may comprise the telephone number (TN) of the mobile device assigned to the mobile device by the operator of the packet-switched network, as the originator of the call, and the telephone number (TN) of the destination dialed by the user. In step 311, the ePDG 210 may forward the SIP message(s) to the IMS Core 214 via the P-GW 212. In step 312, the IMS Core 214 may determine the call type and destination, such as the communications device 114, and may forward the call signaling (e.g., message) to the terminating network of the destination communications device 114 via the MGCF/MGW 224.

In step 313, the call may be answered by the communications device 114 of the terminating network 116 and a message indicating that the call has been answered may be received by the IMS Core 214. The IMS Core 214 may forward the answer message to the ePDG in step 314. In step 315, the ePDG will forward the answer message to the mobile device 102 via the established IPsec tunnel. The mobile device 102 may accept the answer message. The voice data of the VoIP call may be carried via the same IPSec tunnel established for the call signaling, which may serve as the bearer channel for the voice data.

As also mentioned above, if the mobile device 102 is not in wireless communication range of a wireless access point that provides connectivity to the packet switched network 110, such as the wireless access point 108, the mobile device 102 may be in range of a base station, such as the base station 104, which provides connectivity to the EPC/LTE network 106. Using another set of credentials on the mobile device associated with the cellular network 106, the mobile device may establish a wireless connection to the cellular network 106 via the base station (e.g., eNodeB) 104. The mobile device 102 may use the credentials associated with the EPC/LTE network 106 to perform an authentication of the mobile device 102 with the network 106 and to establish a connection to the EPC/LTE network 106. The mobile device 102 may establish a cellular data connection within the network 106 and may use that cellular data connection to establish an IP-based connection to the packet switched network 110. The connection to the packet switched network 110 may traverse the IP network 112, which may comprise the Internet. Using that IP-based connection to the packet switched network 110, the mobile device 102 may register with the IMS Core 214 of the packet switched network 110 in a manner similar to that illustrated and described above in connection with FIG. 3 —except that instead of establishing an IPsec tunnel with the ePDG 210 of the packet switched network via a wireless access point, such as wireless access point, 108, the mobile device 108 instead establishes an IPsec tunnel with the ePDG 210 using its cellular data connection through the EPC/LTE network. The registered mobile device 102 may conduct VOIP communications using the services of the packet switched network 110, but between the mobile device 102 and the ePDG 210, those VOIP communications will traverse the cellular data connection established through the EPC/LTE network 106. And, any such VOIP communications may appear to any communications device at the other endpoint, such as the communications device 114, as coming from the telephone number assigned by the operator of the packet switched network 110, even though those communications rely on the cellular data connection established through the EPC/LTE network 106.

FIG. 4 is a call flow illustrating a method of using a cellular data connection through the EPC/LTE network 106 to register with the packet switched network 110 to enable VOIP communications via the packet switched network 110. Until the mobile device 102 moves into range of a wireless access point, such as wireless access point 108, the mobile device 102 may continue to rely on the cellular data connection through the EPC/LTE network 106 to carry the data of a VoIP communication between the mobile device 102 and the ePDG 210 of the packet switched network 110.

With continuing reference to both FIGS. 2 and 4 , in step 401 of FIG. 4 , using a base station, such as the eNodeB 104, the mobile device 102 may connect to the SGW 206 and PGW 208 of the EPC/LTE network. The mobile device 102 may utilize the LTE attach procedure specified in 3GPP TS 23.401 to make this connection.

In step 402, the mobile device 102 is assigned an IP address and is provided by the PGW 208 with a cellular data connection to the intermediate network 112 (which may comprise the Internet).

In step 403, the mobile device 102 utilizes the cellular data connection to the intermediate network 112 to send a message to the ePDG 210 of the packet switched network 110 requesting to establish an Internet Protocol security (IPsec) tunnel with the ePDG 210 using the Internet Key Exchange Protocol version 2 (IKEv2). This step 402 may be performed in accordance with the specifications of 3GPP TS 33.402. In step 403, the ePDG 210 establishes the secure end-to-end tunnel (IPsec) with the mobile device 102. The process may continue in a manner similar to that illustrated in steps 4-15 of FIG. 2 .

In step 405 of FIG. 4 , using the IPsec tunnel established with the ePDG 210, the mobile device 102 attempts to discover a Proxy-Call Session Control Function (P-CSCF) of the packet switched network 110, such as P-CSCF 216, which it may use to register with the IMS Core 214 of the packet switched network. The mobile device 102 may send a request to the discovered P-CSCF to register with the IMS Core 214. This discovery and registration process may be performed in accordance with the specifications of 3GPP TS 24.229.

In step 406, the request to register with the IMS Core 214 is forwarded by the ePDG 210 to the P-CSCF 216 of the IMS Core 214. In step 407, in response to the request, the IMS Core 214 requests information and authentication credentials for the mobile device 102 from the IMS HSS 222. The HSS 222 maintains a profile for the mobile device 102 which contains these credentials. The credentials stored in the HSS profile correspond to the aforementioned credentials provisioned on the mobile device 102 by the operator of the packet switched network 110. The HSS 222 returns the requested information and credentials in step 408. The HSS 222 will also store in its profile for the mobile device 102 an identifier, such as a fully qualified domain name, of the P-CSCF with which the mobile device 102 has established communication. The mobile device 102 will continued to use that discovered P-CSCF as long as its registration with the IMS Core 214 remains valid.

In step 409, using the authentication credentials returned by the IMS HSS 222, the IMS Core 214 begins an authentication process with the mobile device 102 by sending a challenge message to the mobile device 102 via the ePDG. In step 410, the mobile device 102 and IMS Core 214 complete the authentication and registration process. At this point, the mobile device 102 is registered with the IMS Core 214 and may conduct VoIP communications over the packet switched network 110. As a further part of this registration process, the IMS Core 214 stores the telephone number TN (which may comprise an MSISDN) assigned by the operator of the packet-switched network and maintains a mapping of that telephone number to the assigned IP address of the mobile device. Note that the IP address is assigned by the PGW 208 of the EPC network 106. The foregoing steps 6 through 10 may be performed in accordance with the specifications of 3GPP TS 24.229.

At step 411, the mobile device 102 may originate a VoIP call to another communications device, such as the communications device 114. The VoIP call may be initiated by a user of the mobile device 102 by dialing the telephone number of the destination communications device 114 using a dialer application (not shown) on the mobile device 102. The mobile device 102 may initiate the signaling for the call using the Session Initiation Protocol (SIP), as specified in IETF RFC 3261. A SIP message initiating the call may be sent to the ePDG 210 via the IPsec tunnel established between the mobile device 102 and the ePDG 210. The SIP message may comprise the telephone number (TN) of the mobile device assigned to the mobile device by the operator of the packet-switched network, as the originator of the call, and the telephone number (TN) of the destination dialed by the user. In step 412, the ePDG 210 may forward the SIP message(s) to the IMS Core 214 via the P-GW 212. In step 413, the IMS Core 214 may determine the call type and destination, such as the communications device 114, and may forward the call signaling (e.g., message) to the terminating network of the destination communications device 114 via the MGCF/MGW 224.

In step 414, the call may be answered by the communications device 114 of the terminating network 116 and a message indicating that the call has been answered may be received by the IMS Core 214. The IMS Core 214 may forward the answer message to the ePDG in step 415. In step 416, the ePDG may forward the answer message to the mobile device 102 via the established IPsec tunnel created over the cellular data connection of the mobile device 102 through the EPC/LTE network 106. The mobile device 102 may accept the answer message. The voice data of the VoIP call may be carried via the same IPSec tunnel established for the call signaling over the cellular data connection through the EPC/LTE network 106, which may serve as the bearer channel for the voice data. Thus, unlike the method illustrated in FIG. 3 , in the method of FIG. 4 , the voice data transmitted between the mobile device 102 and the ePDG 210 of the packet switched network will be carried over the cellular data connection established for the mobile device 102 through the EPC/LTE network 106. That is, via the eNodeB 104, SGW 206, and PGW 208. However, because the telephone number (TN) of the mobile device assigned by the operator of the packet switched network is passed in the SIP messaging for the call, the call will appear as if originating from that telephone number, not any telephone number associated with the EPC/LTE network 106.

FIG. 5 shows a system for providing mobile telephone service to subscribers of an operator of a packet switched network 110. In the architecture of FIG. 5 , the mobile device 102, first cellular network 106, and packet switched network 110 may operate as described above in connection with the descriptions of FIGS. 1-4 . However, in this architecture, an additional cellular network 107 may be accessible to the mobile device 102 via another base station 105. The mobile device 102 may be configured to access this additional cellular network 107 in the event that a wireless connection to the packet switching network 110 is not available and no cellular connection is available to the cellular network 106.

The additional cellular network may implement the Code Division Multiple Access (CDMA) radio access technology specified in the 3GPP2 CDMA2000 1×RTT Specification. The base station 105 may comprise a NodeB and associated radio network controller (RNC). The mobile network operator (MNO) of the first cellular network 106 may also be the MNO of the additional cellular network 107.

If a user of a mobile device, such as the mobile device 102, is unable to establish a connection to either the first cellular network 106 (via base station 104) or the packet switching network 110 (via wireless access point 108) and wishes to initiate a call to another communication device, such as the communications device 114, the mobile device 102 may connect instead to the additional cellular network 107 via one of its base stations, such as base station 105. This telephony request may be received by the cellular network 107. The request may comprise a first identifier associated with the mobile device, such as a telephone number, that has been assigned by the MNO of the cellular network 107. The cellular network 107 may be configured to forward the telephony request to the packet switching network 110 using a Session Initiation Protocol (SIP) trunk connecting the two networks. Alternatively, a time-division multiplexing (TDM) trunk may be employed.

The telephony request may be received by the packet switched network 110, and the packet switched network 110 may be configured to determine that the identifier of the mobile device 102 included in the telephony request—which is assigned by the MNO of the cellular network 107—maps to a second identifier that identifies the mobile device to the second network operator. This second identifier may comprise a telephone number assigned to the mobile device 102 by the operator of the packet switched network 110. After determining the mapping, the packet switched network 110 may be configured to modify the telephony request by replacing the first identifier associated with the cellular network 107 with the second identifier assigned by the packet switched network 110. The packet switched network 110 may forward the modified telephony request toward the intended destination of the telephony request, such as for example, the communications device 114.

For an inbound call from a communications device, such as the communications device 114, to a mobile device 102, the packet switched network 110 may be configured to receive a telephony request sent from the communications device 114 identifying the mobile device 102 as the destination for the call. The telephony request may identify the mobile device 102 by the telephone number assigned to the device by the operator of the packet switching network 110.

The packet switching network 110 may determine that the mobile device 102 to which the call is directed is not reachable via the packet switching network—neither via a wireless access point, such as the access point 108, nor via a cellular data connection through the first cellular network 106. Upon determining that the mobile device 102 is not reachable via the packet switched network 102, the packet switching network 110 may be further configured to determine that the telephone number in the received telephony request maps to a second telephone number assigned to the mobile device by the operator of the additional cellular network 107. The packet switching network 110 may modify the telephony request by replacing the telephone number assigned to the mobile device 102 by the packet switching network with the telephone number assigned by the cellular network 107. The packet switching network 110 may forward the telephony request to the cellular network 107 via the SIP trunk (or alternatively a TDM trunk) established between the two networks. The cellular network 107 may route the call to the mobile device via one of its base stations, such as base station 105. Thus, even in the event that the mobile device 102 does not have connectivity to either the packet switched network 110 or the first cellular network 106, the mobile device 102 may still be able to originate and receive calls via the additional cellular network 107. Moreover, those calls may still appear to the respective endpoints as if originating from or destined for the telephone number assigned to the mobile device 102 by the operator of the packet switched network.

FIG. 6 is a block diagram illustrating further details of one implementation of the architecture of FIG. 5 . The EPC/LTE network may comprise essentially the same architecture as in the architecture of FIG. 2 .

The additional cellular network 107 may comprise a cellular network that implements the Code Division Multiple Access (CDMA) radio access technology specified in the 3GPP2 CDMA2000 1×RTT Specification. Access to the CDMA network 107 may be made via one of a plurality of base stations, such as the base station 105, which may comprise a NodeB and associated radio network controller (RNC). The CDMA network 107 may further comprise a mobile switching center server (MSC) 201 and an associated Home Location Register (HLR) 203.

In a CDMA network such as the network 107, the MSC 201 may be configured to perform call switching and mobility management functions for mobile devices, such as the mobile device 102, roaming on its network of base stations (such as, NodeB/RNC 105). It receives telephony requests from mobile devices and determines how to route the call signaling to the appropriate destination for the request. The functionality of the MSC may be implemented in accordance with the 3GPP2 CDMA2000 1×RTT Specification.

The HLR 203 may comprise a database that stores information concerning mobile devices, such as mobile device 102, for which a subscription to the services of the network 107 has been established. The information may be stored for a given mobile device in the form of a record in the HLR 203 database. The record for a given mobile device may comprise one or more identifiers associated with the device. The one or more identifiers may comprise an international mobile subscriber identity (IMSI), a telephone number associated with the mobile device, and other information relating to the services of the network 107 available to the mobile device. The telephone number associated with the mobile device may comprise a mobile station international subscriber directory number (MSISDN), which telephone number may be assigned to the mobile device 102 by the operator of the CDMA network 107.

As further illustrated in FIG. 6 , in this architecture, the packet switched network 110 may further comprise a voice call handling server (VHS) 209. The VHS 209 may comprise a network element in the packet switched network 110 configured handle calls based on the SIP protocol described in IETF RFC 3261 and to perform the telephony request mapping and modification functions described above in connection with FIG. 5 . To that end, the VHS 209 may be configured to serve as an interface between the MSC 201 of the CDMA network 107 and the PGW 212 of the packet switched network 110. The VHS 209 of the packet switched network 110 and the MSC 201 of the CDMA network 107 may be communicatively connected via a SIP trunk formed between a Media Gateway Control Function/Session Border Controller (MGCF/SBC) 205 in the CDMA network 107 and a Session Border Controller (SBC) 211 in the packet switched network.

FIG. 7A is a call flow illustrating a method for conducting telephone communications using the additional cellular network 107 of FIGS. 5 and 6 in the event that a mobile device, such as the mobile device 102, is not able to connect directly to either the first cellular network (EPC/LTE) 106 or the packet switched network 110.

In step 701 of FIG. 7A, a mobile device, such as the mobile device 102, connects to the additional cellular network (CDMA) 107 via one of the base stations of the network, such as the NodeB/RNC 105, using a cellular attach procedure of the network 107. The cellular attach procedure may be performed in accordance with the 3GPP2 CDMA 2000 1×RTT Specification.

In step 702, the MSC 201, in cooperation with the HLR 203 authenticates the mobile device 102 and registers the mobile device 102 with the MSC 201. This authentication and registration process may be performed in accordance with the 3GPP2 CDMA 2000 1×RTT Specification.

In step 703, the mobile device 102 may initiate a telephone call to a destination communications device, such as the communications device 114. The telephone call may be initiated by a user of the mobile device 102 by dialing the telephone number of the destination communications device 114 using a dialer application (not shown) on the mobile device 102. The signaling for the call may be in the form of one or more Signaling System 7 (SS7) signaling messages.

At step 704, a Wireless Intelligent Network (WIN) trigger, which may be provisioned in the CDMA network 107, may intercept the call signaling, and at step 705, the MSC 201 may forward the call signaling to the VHS 209 of the packet switched network 209 using the SIP protocol. This SIP signaling (i.e., telephony request) may be forwarded to the VHS 209 using the SIP trunk formed between the MGCF/SBC 205 and SBC 211, which effectively connects the CDMA network 107 and the packet switched network 110. Alternatively, a time-division multiplexing (TDM) trunk may be employed.

At step 706, the VHS 209 may receive the call signaling. As mentioned above, the call signaling may comprise one or more SIP messages for call initiation. At least one of the SIP messages may identify a telephone number, such as an MSISDN, of the calling party—in this case the mobile device 102. However, because the call was initiated by the mobile device 102 using its connection to the CDMA network, the calling party telephone number in the received SIP messages will be the telephone number assigned to the mobile device by the operator of the CDMA network 107. In accordance with the method discussed above in connection with FIG. 5 , the VHS 209 may be configured to determine that the telephone number of the calling mobile device 102 included in the SIP message—which is assigned by the operator of the CDMA network 107—maps to a telephone number (e.g., MSISDN) assigned to the mobile device 102 by the operator of the packet switched network 110. The VHS 209 may employ a mapping table stored by the VHS 209 to determine that the telephone number in the received SIP message maps to a telephone number assigned to the mobile device by the packet switched network operator. After determining the mapping, the VHS 209 is configured to modify the SIP message(s) by replacing the telephone number in the received messages with the mapped telephone number assigned by the operator of the packet switched network 110. In step 707, the VHS 209 sends the modified SIP messages to the IMS Core 214.

In step 708, the IMS Core 214 may determine the call type and destination, such as the communications device 114, and may forward the call signaling—in this case SIP message(s)—to the terminating network of the destination communications device 114 via the MGCF/MGW 224.

In step 709, the call may be answered by the communications device 114 of the terminating network 116 and a message indicating that the call has been answered may be received by the IMS Core 214. This answer message may also be in the form of a SIP message. The IMS Core 214 may forward the answer message to the VHS 209 in step 710. At this point, the answer message will identify the calling part by the modified telephone number assigned to the mobile device 102 by the operator of the packet switched network.

In step 711, the VHS 209 may reverse the mapping process to map the telephone number assigned by the packet switching network 110 back to the telephone number assigned to the mobile device 102 by the CDMA network 107. The VHS 209 may forward the modified answer message to the MSC 201 of the CDMA network 107. In step 712, the MSC 201 will transmit the answer message to the mobile device 102. The mobile device 102 may accept the answer message. The voice data for the call will be carried over a combination of a bearer channel of the CDMA network 107, the SIP trunk formed between the MGCF/SBC 205 and SBC 211, and an IP-based bearer channel in the packet-switched network 110. Even though the call may be initiated by the mobile device from the CDMA network 106, the call will appear as if originating from the telephone number (TN) assigned to the mobile device 102 by the operator of the packet switched network 110, not the telephone number associated with and assigned to the mobile device 102 by the operator of the CDMA network 107.

In step 703, the mobile device 102 may itself modify the telephony request by replacing the calling party telephone number assigned by the CDMA network 107 with the telephone number assigned by the packet switched network 110. For example, a modified dialer application on the mobile device (e.g., dialer application 954 of FIG. 9 ) may perform this replacement. In step 706, the VHS may employ out-of-band signaling with the mobile device 102 to obtain the corresponding telephone number associated with the CDMA network. The VHS 209 may use the CDMA network-related telephone number obtained via this out-of-band signaling in step 711 to switch the telephone number associated with the packet switching network 110 back to the telephone number associated with the CDMA network 107 in the received answer message, before forwarding the modified answer message to the MSC 201 of the CDMA network 107.

FIG. 7B is a call flow illustrating a method for conducting telephone communications using the additional cellular network 107 of FIGS. 5 and 6 in the event that a mobile device, such as the mobile device 102, is not able to connect directly to either the first cellular network (EPC/LTE) 106 or the packet switched network 110. In particular, the call flow of FIG. 7B shows the handling of a call originating from another communications device, such as the communications device 114, destined for the mobile device 102.

Steps 1 and 2 of FIG. 7B may be essentially the same as in the method of FIG. 7A. Specifically, in step 721 of FIG. 7B, a mobile device, such as the mobile device 102, connects to the additional cellular network (CDMA) 107 via one of the base stations of the network, such as the NodeB/RNC 105, using a cellular attach procedure of the network 107. The cellular attach procedure may be performed in accordance with the 3GPP2 CDMA 2000 1×RTT Specification.

In step 722, the MSC 201, in cooperation with the HLR 203, authenticates the mobile device 102 and registers the mobile device 102 with the MSC 201. This authentication and registration process may be performed in accordance with the 3GPP2 CDMA 2000 1×RTT Specification.

In step 723, a user of a communications device, such as the communications device 114, may originate a call to the mobile device 102 by dialing the telephone number (TN) assigned to the mobile device 102 by the operator of the packet switched network 110. As part of this call origination, the IMS Core 214 will receive a SIP Invite message from the originating network 116 via the MGCF/MGW 224. The SIP Invite message will identify the originator of the call (communications device 114) and the destination (mobile device 102). The mobile device 102 may be identified in the SIP Invite message by its telephone number (TN) assigned by the operator of the packet switched network 110.

In step 724, the IMS Core 214 may determine that the mobile device 102 has not registered with the IMS Core 214 or is not reachable via the packet switching network 110—neither via a wireless access point, such as the access point 108, nor via a cellular data connection through the EPC/LTE network 106. Upon determining that the mobile device 102 is not registered or is not reachable via the packet switched network 110, the IMS Core 214 may forward the call signaling to the VHS 209.

In step 725, the VHS 209 may be configured to determine that the destination telephone number (TN) of the mobile device 102 contained in the SIP message maps to a second telephone number assigned to the mobile device by the operator of the CDMA network 107. The VHS 209 may modify the SIP message by replacing the telephone number assigned to the mobile device 102 by the packet switching network with the telephone number assigned by the CDMA network 107. The VHS 209 may forward the SIP message to the MSC 201 of the CDMA network 107 via the SIP trunk (or alternatively a TDM trunk) established between the SBC 211 of the packet switched network 110 and the MGCF/SBC 205 of the CDMA network 107.

In step 726, the MSC 201 may forward the call signaling to the mobile device 102 via one of its base stations, such as base station 105, using protocols of the CDMA network 107.

In step 727, the mobile device 102 may send a call completion message back to the MSC indicating that the call has been answered by the mobile device 102. This call completion message may identify the mobile device 102 by the telephone number (TN) assigned to the mobile device 102 by the CDMA network 107.

In step 728, the MSC 201 may forward the call completion message to the VHS 209 of the packet switched network via the SIP trunk between the MGCF/SBC 205 and SBC 211.

In step 729, the VHS 209 may receive the call completion message and may reverse the mapping process to map the telephone number assigned by the CDMA network 107 in the call completion message back to the telephone number assigned to the mobile device 102 by the operator of the packet switched network 110. The VHS 209 may translate the call completion message to a SIP answer message in accordance with the SIP protocol and modify the response to include, as the identifier of the answering party, the telephone number of the mobile device 102 assigned by the packet switched network 110. The VHS 209 may forward the modified SIP answer message to the IMS Core 214.

In step 730, the IMS Core 214 may determine the call type and send the SIP answer message to the originating network 116 via the MGCF/MGW 224 and on to the originating communications device 114. The voice data for the call may be carried over a combination of a bearer channel of the CDMA network 107, the SIP trunk formed between the MGCF/SBC 205 and SBC 211, and an IP-based bearer channel in the packet-switched network 110.

Thus, again, even in the event that the mobile device 102 does not have connectivity to either the packet switched network 110 or the EPC/LTE network 106, the mobile device 102 may still be able to originate and receive calls via the additional cellular network 107. Moreover, those calls may still appear to the respective endpoints as if originating from or destined for the telephone number assigned to the mobile device 102 by the operator of the packet switched network.

The system of FIGS. 5 and 6 may be configured to provide functionality for handling emergency calls, such as calls initiated by a user dialing 9-1-1 using the dialer application on the mobile device 102, in the event that the mobile device 102 is not able to connect directly to either the first cellular network (EPC/LTE) 106 or the packet switched network 110. For example, 9-1-1 calls dialed on the mobile device 102, if not connected to the first cellular network (EPC/LTE) 106 or the packet switched network 110, may originate using the TN assigned by the network provider of the additional cellular network 107 and the location information may be maintained and provided by that network provider.

It is understood that the network elements and devices illustrated in FIGS. 1-7B may represent logical entities in the respective communications networks and may be implemented in the form of software (i.e., computer-executable instructions) stored in a memory of, and executing on a processor of, computing device, which may comprise one of the architectures illustrated in FIG. 8 or 9 described below. Thus, the methods illustrated in FIGS. 3,4, 7A and 7B may be implemented in the form of software (i.e., computer-executable instructions) stored in a memory of such network elements and devices, which when executed by a processor of the network element or device, perform the steps illustrated in the figures. It is also understood that any transmitting and receiving steps illustrated in these figures may be performed by communication circuitry (e.g., network interface controller 822 of FIG. 8 , transceivers 934 a,b of FIG. 9 ) of the network element or device under control of its processor the computer-executable instructions that it executes.

FIG. 8 depicts a computing device 800 that may represent any of the various network elements illustrated in FIGS. 1, 2, 5, and 6 , including, for example, the eNodeB 104, AP 108, MME 202, HSS 204, SGW 206, PGW 208, ePDG 210, PGW 212, IMS Core 214, P-CSCF 216, PCRF 218, AAA 220, IMS HSS 222, MGCF/MGW 224, communications device 114, RNC/NodeB 105, MSC 201, HLR 203, MGCF/SBC 205, SBC 2011, or any other device or network element described herein. The architecture of the computing device 800 may be utilized to execute any aspects of the functionality described herein, such as to implement any of the aforementioned network elements or any of the methods described in relation to FIGS. 3, 4, 7A and 7B.

The computing device 800 may include a baseboard, or “motherboard,” which may be a printed circuit board to which a multitude of components or devices may be connected by way of a system bus or other electrical communication paths. One or more central processing units (CPUs or “processors”) 804 may operate in conjunction with a chipset 806. The CPU(s) 804 may be standard programmable processors that perform arithmetic and logical operations necessary for the operation of the computing device 800.

The CPU(s) 804 may perform the necessary operations by transitioning from one discrete physical state to the next through the manipulation of switching elements that differentiate between and change these states. Switching elements may generally include electronic circuits that maintain one of two binary states, such as flip-flops, and electronic circuits that provide an output state based on the logical combination of the states of one or more other switching elements, such as logic gates. These basic switching elements may be combined to create more complex logic circuits including registers, adders-subtractors, arithmetic logic units, floating-point units, and the like.

The CPU(s) 804 may be augmented with or replaced by other processing units, such as GPU(s) 805. The GPU(s) 805 may comprise processing units specialized for but not necessarily limited to highly parallel computations, such as graphics and other visualization-related processing.

A chipset 806 may provide an interface between the CPU(s) 804 and the remainder of the components and devices on the baseboard. The chipset 806 may provide an interface to a random access memory (RAM) 808 used as the main memory in the computing device 800. The chipset 806 may provide an interface to a computer-readable storage medium, such as a read-only memory (ROM) 820 or non-volatile RAM (NVRAM) (not shown), for storing basic routines that may help to start up the computing device 800 and to transfer information between the various components and devices. ROM 820 or NVRAM may also store other software components necessary for the operation of the computing device 800 in accordance with the aspects described herein.

The computing device 800 may operate in a networked environment using logical connections to network elements or devices of any network to which the computing device is connected, such as the networks 106, 107, 110, 112, and 116 depicted in FIGS. 1, 2, 5 , and 6. The chipset 806 may include functionality for providing such network connectivity through a network interface controller (NIC) 822, such as a gigabit Ethernet adapter of any other suitable network adapter. It should be appreciated that multiple NICs 822 may be present in the computing device 800, connecting the computing device to other types of networks and remote computer systems. The NIC may also comprise any suitable wireless network interface controller capable of wirelessly connecting and communicating with other devices or network elements on such networks. For example, the NIC 822 may operate in accordance with any of a variety of wireless communication protocols, including for example, the IEEE 802.11 (“Wi-Fi”) protocol, the IEEE 802.16 or 802.20 (“WiMAX”) protocols, the IEEE 802.15.4a (“Zigbee”) protocol, the 802.15.3c (“UWB”) protocol, or the like.

The computing device 800 may be connected to a mass storage device 828 that provides non-volatile storage (i.e., memory) for the computer. The mass storage device 828 may store system programs, application programs, other program modules, and data, which have been described in greater detail herein. The mass storage device 828 may be connected to the computing device 800 through a storage controller 824 connected to the chipset 806. The mass storage device 828 may consist of one or more physical storage units. A storage controller 824 may interface with the physical storage units through a serial attached SCSI (SAS) interface, a serial advanced technology attachment (SATA) interface, a fiber channel (FC) interface, or other type of interface for physically connecting and transferring data between computers and physical storage units.

The computing device 800 may store data on a mass storage device 828 by transforming the physical state of the physical storage units to reflect the information being stored. The specific transformation of a physical state may depend on various factors and on different implementations of this description. Examples of such factors may include, but are not limited to, the technology used to implement the physical storage units and whether the mass storage device 828 is characterized as primary or secondary storage and the like.

The computing device 800 may store information to the mass storage device 828 by issuing instructions through a storage controller 824 to alter the magnetic characteristics of a particular location within a magnetic disk drive unit, the reflective or refractive characteristics of a particular location in an optical storage unit, or the electrical characteristics of a particular capacitor, transistor, or other discrete component in a solid-state storage unit. Other transformations of physical media are possible without departing from the scope and spirit of the present description, with the foregoing examples provided only to facilitate this description. The computing device 800 may read information from the mass storage device 828 by detecting the physical states or characteristics of one or more particular locations within the physical storage units.

The computing device 800 may have access to other computer-readable storage media to store and retrieve information, such as program modules, data structures, or other data. It should be appreciated by those skilled in the art that computer-readable storage media may be any available media that provides for the storage of non-transitory data and that may be accessed by the computing device 800.

By way of example and not limitation, computer-readable storage media may include volatile and non-volatile, non-transitory computer-readable storage media, and removable and non-removable media implemented in any method or technology. However, as used herein, the term computer-readable storage media does not encompass transitory computer-readable storage media, such as signals. Computer-readable storage media includes, but is not limited to, RAM, ROM, erasable programmable ROM (“EPROM”), electrically erasable programmable ROM (“EEPROM”), flash memory or other solid-state memory technology, compact disc ROM (“CD-ROM”), digital versatile disk (“DVD”), high definition DVD (“HD-DVD”), BLU-RAY, or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage, other magnetic storage devices, or any other non-transitory medium that may be used to store the desired information in a non-transitory fashion.

A mass storage device, such as the mass storage device 828 depicted in FIG. 8 , may store an operating system utilized to control the operation of the computing device 800. The operating system may comprise a version of the LINUX operating system. The operating system may comprise a version of the WINDOWS SERVER operating system from the MICROSOFT Corporation. The operating system may comprise a version of the UNIX operating system. Various mobile phone operating systems, such as IOS and ANDROID, may also be utilized. It should be appreciated that other operating systems may also be utilized. The mass storage device 828 may store other system or application programs and data utilized by the computing device 800.

The mass storage device 828 or other computer-readable storage media may also be encoded with computer-executable instructions, which, when loaded into the computing device 800, transforms the computing device from a general-purpose computing system into a special-purpose computer capable of implementing the aspects described herein. These computer-executable instructions transform the computing device 800 by specifying how the CPU(s) 804 transition between states, as described herein. The computing device 800 may have access to computer-readable storage media storing computer-executable instructions, which, when executed by the computing device 800, may perform the methods described in relation to FIGS. 3, 4, 7A and 7B.

A computing device, such as the computing device 800 depicted in FIG. 8 , may also include an input/output controller 832 for receiving and processing input from a number of input devices, such as a keyboard, a mouse, a touchpad, a touch screen, an electronic stylus, or other type of input device. Similarly, an input/output controller 832 may provide output to a display, such as a computer monitor, a flat-panel display, a digital projector, a printer, a plotter, or other type of output device. It will be appreciated that the computing device 800 may not include all of the components shown in FIG. 8 , may include other components that are not explicitly shown in FIG. 8 , or may utilize an architecture completely different than that shown in FIG. 8 .

As described herein, a computing device may be a physical computing device, such as the computing device 800 of FIG. 8 . A computing device may also include a virtual machine host process and one or more virtual machine instances. Computer-executable instructions may be executed by the physical hardware of a computing device indirectly through interpretation and/or execution of instructions stored and executed in the context of a virtual machine.

FIG. 9 is a block diagram illustrating an architecture of a mobile device 930, such as may be representative of the mobile device 102 of FIGS. 1-7B. The mobile device 930 may comprise any of a variety of different types of mobile devices, including for example, a smartphone, a tablet computer, a laptop computer, a notebook computer, a personal computer, a personal digital assistant (PDA), a user equipment (UE), a mobile station, a fixed or mobile subscriber unit, a pager, a wireless sensor, other consumer electronics, and the like.

In FIG. 9 , the mobile device 930 may include a processor 932, non-removable memory 944, removable memory 946, a speaker/microphone 938, a keypad 940, a display or touchpad 942, a power source 948, a global positioning system (GPS) chipset 950, and other components 952. The mobile device 930 may also include communication circuitry, such as one or more transceivers 934 a, 934 b and one or more antennas 936 a, 936 b.

The processor 932 may be a general purpose processor, a special purpose processor, a conventional processor, a digital signal processor (DSP), a plurality of microprocessors, one or more microprocessors in association with a DSP core, a controller, a microcontroller, Application Specific Integrated Circuits (ASICs), Field Programmable Gate Array (FPGAs) circuits, any other type of integrated circuit (IC), a state machine, and the like. In general, the processor 392 may execute computer-executable instructions stored in the memory (e.g., memory 44 and/or memory 46) of the device in order to perform the various required functions of the device. For example, the processor 932 may perform signal coding, data processing, power control, input/output processing, and/or any other functionality that enables the mobile device 930 to operate in a wireless or wired environment. The processor 932 may run application programs, operating systems, communications programs, or other programs. The processor 932 may run a dialer application 954 to enable users to initiate and answer telephone calls or VoIP communications. The processor 932 may also run a VoIP Client to perform VoIP communications. These applications, programs, and clients may reside in and be retrieved for execution from a memory of the mobile device 930, such as the memory 944. The processor 932 may also perform security operations such as authentication, security key agreement, and cryptographic operations.

In FIG. 9 , the processor 932 may be coupled to its communication circuitry (e.g., transceivers 934 a, 934 b and antennas 936 a, 936 b). The processor 932, through the execution of computer executable instructions, may control the communication circuitry in order to cause the mobile device 930 to communicate with other elements of a network to which it is connected. In particular, the processor 932 may control the communication circuitry in order to perform the methods described in relation to FIGS. 3, 4, 7A and 7B, or as recited in a claim. While FIG. 9 depicts the processor 932 and the transceivers 934 a, 934 b as separate components, it will be appreciated that the processor 932 and the transceivers 934 a, 934 b may be integrated together in an electronic package or chip.

The antennas 936 a, 936 b may be configured to transmit signals to, or receive signals from, other network elements, including base stations and access points, such as the base stations 104, 105, and 108 of FIGS. 1, 2, 5, and 6 . The transceivers 934 a, 934 b and antennas 936 a, 936 b may support various networks and air interfaces, such as Wi-Fi, WLAN, WPAN, cellular, and the like. Although the antennas 936 a, 936 b are depicted in FIG. 9 as single elements, the mobile device 930 may include any number of antennas. For example, the mobile device 930 may employ MIMO technology. Thus, each of the illustrated antennas 936 a, 936 b may comprise multiple antennas for transmitting and receiving wireless signals.

Each transceiver 934 a, 934 b may be configured to modulate the signals that are to be transmitted by the antennas 936 a, 936 b and to demodulate the signals that are received by the antennas. Each transceiver 934 a, 934 b and its respective antenna 936 a, 936 b may implement a different radio access technology. For example, one of the transceivers may implement a cellular radio access technology, such as CDMA or LTE, while another of the transceivers may implement the IEEE 802.11 (Wi-Fi) radio access technology. Moreover, although the mobile device 930 is depicted as including two transceivers 934 a, 934 b and respective antennas 936 a, 936 b, it is understood that the mobile device 930 may comprise more or less transceivers and antennas. With reference to FIGS. 1, 2, 5, and 6 , the mobile device 930 may comprise one transceiver/antenna for communicating with the EPC/LTE network 106 via the base station 104, another transceiver/antenna for communicating with the packet switched network 110 via wireless access point 108, and yet another transceiver/antenna for communicating with the CDM network 107 via the base station 105.

The processor 932 may access information from, and store data in, any type of suitable memory, such as the non-removable memory 944 and/or the removable memory 496. For example, the processor 932 may store session context in its memory, as described above. The non-removable memory 944 may include random-access memory (RAM), read-only memory (ROM), a hard disk, or any other type of memory storage device. The removable memory 946 may include a subscriber identity module (SIM) card, a memory stick, a secure digital (SD) memory card, and the like. The processor 932 may access information from, and store data in, memory that is not physically located on the mobile device 930, such as on a server or a computer.

The processor 932 may receive power from the power source 948, and may be configured to distribute and/or control the power to the other components in the mobile device 930. The power source 948 may be any suitable device for powering the mobile device 930. For example, the power source 948 may include one or more dry cell batteries (e.g., nickel-cadmium (NiCad), nickel-zinc (NiZn), nickel metal hydride (NiMH), lithium-ion (Li-ion), etc.), solar cells, fuel cells, and the like.

The processor 932 may also be coupled to the GPS chipset 950, which is configured to provide location information (e.g., longitude and latitude) regarding the current location of the mobile device 930. It will be appreciated that the mobile device 930 may acquire location information by way of any suitable location-determination method.

The processor 932 may further be coupled to other components 952, which may include one or more software or hardware modules that provide additional features or functionality. For example, the peripherals 952 may include various sensors, a camera, or the like.

The methods and systems described herein are not limited to specific methods, specific components, or to particular implementations. It is also to be understood that the terminology used herein is for the purpose of description only and is not intended to be limiting.

As used in the specification and the appended claims, the singular forms “a,” “an,” and “the” include plural referents unless the context clearly dictates otherwise. Ranges may be expressed herein as from “about” one particular value, and/or to “about” another particular value. When such a range is expressed, it may include from the one particular value and/or to the other particular value. The endpoints of each of the ranges may be significant both in relation to the other endpoint, and independently of the other endpoint.

“Optional” or “optionally” means that the subsequently described event or circumstance may or may not occur, and that the description includes instances where said event or circumstance occurs and instances where it does not.

Throughout the description and claims of this specification, the word “comprise” and variations of the word, such as “comprising” and “comprises,” means “including but not limited to,” and is not intended to exclude, for example, other components, integers or steps. “Exemplary” means “an example of” and is not intended to convey an indication of a preference or ideal. “Such as” is not used in a restrictive sense, but for explanatory purposes.

Components and devices are described that may be used to perform the described methods and systems. When combinations, subsets, interactions, groups, etc., of these components are described, it is understood that while specific references to each of the various individual and collective combinations and permutations of these may not be explicitly described, each is specifically contemplated and described herein, for all methods and systems. This applies to all aspects of this application including, but not limited to, operations in described methods. Thus, if there are a variety of additional operations that may be performed, each of these additional operations may be performed with any others.

As will be appreciated by one skilled in the art, the methods and systems may implemented in the form of hardware, software, or a combination of software and hardware. Furthermore, the methods and systems may take the form of a computer program product on a computer-readable storage medium having computer-readable instructions (e.g., computer software or program code) stored on the storage medium. More particularly, the present methods and systems may take the form of web-implemented computer software. Any suitable computer-readable storage medium may be utilized including hard disks, CD-ROMs, optical storage devices, or magnetic storage devices.

The methods and systems are described above with reference to block diagrams and flowchart illustrations of methods, systems, apparatuses and computer program products. Each block of the block diagrams and flowchart illustrations, and combinations of blocks in the block diagrams and flowchart illustrations, respectively, may be implemented by computer program instructions. These computer program instructions may be loaded on a general-purpose computer, special-purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions which execute on the computer or other programmable data processing apparatus create a means for implementing the functions specified in the flowchart block or blocks.

These computer program instructions may also be stored in a computer-readable memory that may direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including computer-readable instructions for implementing the function specified in the flowchart block or blocks. The computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer-implemented process such that the instructions that execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart block or blocks.

The various features and processes described herein may be used independently of one another, or may be combined in various ways. All possible combinations and sub-combinations are intended to fall within the scope of this disclosure. Certain methods or process blocks may be omitted. The methods and processes described herein are also not limited to any particular sequence, and the blocks or states relating thereto may be performed in other sequences that are appropriate. For example, described blocks or states may be performed in an order other than that specifically described, or multiple blocks or states may be combined in a single block or state. The example blocks or states may be performed in serial, in parallel, or in some other manner. Blocks or states may be added to or removed. The systems and components described herein may be configured differently than described. For example, elements may be added to, removed from, or rearranged.

It will also be appreciated that various items are illustrated as being stored in memory or on storage while being used, and that these items or portions thereof may be transferred between memory and other storage devices for purposes of memory management and data integrity. Some or all of the software modules and/or systems may execute in memory on another device and communicate with the illustrated computing systems via inter-computer communication. Some or all of the systems and/or modules may be implemented or provided in other ways, such as at least partially in firmware and/or hardware, including, but not limited to, one or more application-specific integrated circuits (“ASICs”), standard integrated circuits, controllers (e.g., by executing appropriate instructions, and including microcontrollers and/or embedded controllers), field-programmable gate arrays (“FPGAs”), complex programmable logic devices (“CPLDs”), etc. Some or all of the modules, systems, and data structures may also be stored (e.g., as software instructions or structured data) on a computer-readable medium, such as a hard disk, a memory, a network, or a portable media article to be read by an appropriate device or via an appropriate connection. The systems, modules, and data structures may also be transmitted as generated data signals (e.g., as part of a carrier wave or other analog or digital propagated signal) on a variety of computer-readable transmission media, including wireless-based and wired/cable-based media, and may take a variety of forms (e.g., as part of a single or multiplexed analog signal, or as multiple discrete digital packets or frames). Such computer program products may also take other forms.

Although methods and systems have been described herein and shown in the figures, it is not intended that the scope of the appended claims be limited thereto.

Unless otherwise expressly stated, it is in no way intended that any method set forth herein be construed as requiring that its operations be performed in a specific order. Accordingly, where a method claim does not actually recite an order to be followed by its operations or it is not otherwise specifically stated in the claims or descriptions that the operations are to be limited to a specific order, it is no way intended that an order be inferred, in any respect. This holds for any possible non-express basis for interpretation, including: matters of logic with respect to arrangement of steps or operational flow; plain meaning derived from grammatical organization or punctuation; and the number or type of methods described in the specification.

It will be apparent to those skilled in the art that various modifications and variations may be made without departing from the scope or spirit of the present disclosure. It is intended that the specification and figures be considered as exemplary only, with a true scope and spirit being indicated by the following claims. 

1. A method comprising: receiving a request to establish a telephony call with a mobile device; determining, based on whether a wireless connection to a wireless access point of a packet switched network is available to the mobile device, whether to route the call to the mobile device via the access point and the packet switched network, wherein the packet switched network is operated by a first network operator and is not a cellular network; and based on determining that the wireless connection to the wireless access point of the packet switched network is not available to the mobile device, routing the call to a cellular network operated by a second network operator for further routing to the mobile device via the packet switched network.
 2. The method of claim 1, wherein the mobile device is associated with a first telephone number associated with the packet switched network and a second telephone number associated with the cellular network.
 3. The method of claim 2, wherein the request comprises the first telephone number.
 4. The method of claim 2, wherein the request comprises the second telephone number, the method further comprising: determining, from the second telephone number, the first telephone number; modifying the request by replacing the second telephone number with the first telephone number; and forwarding the modified request toward a destination of the telephony request.
 5. The method of claim 2, further comprising: authenticating the mobile device using, at least in part, the second telephone number.
 6. The method of claim 1, wherein the cellular network comprises an evolved packet core (EPC) network that implements the Long-Term Evolution (LTE) radio access technology.
 7. The method of claim 1, wherein the packet switched network comprises an Internet Protocol (IP) multimedia core network subsystem.
 8. The method recited in claim 1, wherein the wireless access point of the packet switched network operates in accordance with the IEEE 802.11 (Wi-Fi) radio access technology.
 9. A non-transitory computer-readable storage medium storing computer-readable instructions that, when executed by a processor of a computing device, cause the computing device to perform operations comprising: receiving a request to establish a telephony call with a mobile device; determining, based on whether a wireless connection to a wireless access point of a packet switched network is available to the mobile device, whether to route the call to the mobile device via the access point and the packet switched network, wherein the packet switched network is operated by a first network operator and is not a cellular network; and based on determining that the wireless connection to the wireless access point of the packet switched network is not available to the mobile device, routing the call to a cellular network operated by a second network operator for further routing to the mobile device via the packet switched network.
 10. The computer readable medium of claim 9, wherein the mobile device is associated with a first telephone number associated with the packet switched network and a second telephone number associated with the cellular network.
 11. The computer readable medium of claim 10, wherein the request comprises the second telephone number and the instructions, when executed, further cause: determining, from the second telephone number, the first telephone number; modifying the request by replacing the second telephone number with the first telephone number; and forwarding the modified request toward a destination of the telephony request.
 12. The computer readable medium of claim 10, wherein the instructions, when executed, further cause: authenticating the mobile device using, at least in part, the second telephone number.
 13. The computer readable medium of claim 9, wherein the cellular network comprises an evolved packet core (EPC) network that implements the Long-Term Evolution (LTE) radio access technology.
 14. The computer readable medium of claim 9, wherein the wireless access point of the packet switched network operates in accordance with the IEEE 802.11 (Wi-Fi) radio access technology.
 15. A device comprising: one or more processors; and memory storing instructions that, when executed by the one or more processors, cause the device to: receive a request to establish a telephony call with a mobile device; determine, based on whether a wireless connection to a wireless access point of a packet switched network is available to the mobile device, whether to route the call to the mobile device via the access point and the packet switched network, wherein the packet switched network is operated by a first network operator and is not a cellular network; and based on determining that the wireless connection to the wireless access point of the packet switched network is not available to the mobile device, route the call to a cellular network operated by a second network operator for further routing to the mobile device via the packet switched network.
 16. The device of claim 15, wherein the mobile device is associated with a first telephone number associated with the packet switched network and a second telephone number associated with the cellular network.
 17. The device of claim 16, wherein the request comprises the second telephone number and the instructions, when executed, further cause the device to: determine, from the second telephone number, the first telephone number; modify the request by replacing the second telephone number with the first telephone number; and forward the modified request toward a destination of the telephony request.
 18. The device of claim 16, wherein the instructions, when executed, further cause the device to: authenticate the mobile device using, at least in part, the second telephone number.
 19. The device of claim 15, wherein the cellular network comprises an evolved packet core (EPC) network that implements the Long-Term Evolution (LTE) radio access technology.
 20. The device of claim 15, wherein the packet switched network comprises an Internet Protocol (IP) multimedia core network subsystem. 